home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
util
/
wb
/
VisualPrefs_BA.lha
/
VisualPrefs_BA
/
VP-Developer_BA.doc
< prev
next >
Wrap
Text File
|
1999-02-10
|
4KB
|
115 lines
Uvod
INTERFEJS VISUALPREFS-A ZA PROGRAMERE
Rad je u toku
Ako si programer, mozes iskoristiti neke prednosti VisualPrefs-a.
Iako jos ne postoji programerski API za VisualPrefs, to ne znaci da nije
moguce koristiti BOOPSI klase koje VisualPrefs dodaje sistemu.
Cilj tih klasa je pruzanje programerima jednostavnog nacina dobivanja izgleda
VisualPrefs-a, tako da ne moraju cekati da ugradim patch u VisualPrefsu za
njihove programe. ;-)
Trenutno postoji samo jedna klasa:
"tbiclass" - klasa naslova (titlebar-a).
Ova klasa dodaje najkoristenije slike za gadgete koje razni porgrami dodaju
naslovima svojih prozora. Na primjer, "iconify" gadget ili "padlock" gadget
DirOpusa 5.
Svi programi koji koriste tu klasu ce automatski imati isti izgled za gadgete
aslova ako je VisualPrefs pokrenut. Ovo je sigurno bolje nego koristenje
velike kolicine razlicitih verzija iste slike...
"Tbiclass" se moze koristiti upravo kao i "sysiclass", jer su oboje podklase
"imageclass"a. "Ticlass" slika se moze kreirati pozivom NewObject()
sa slijedecim tag-ovima:
SYSIA_DrawInfo - Ovaj je neophodan. MORAS dodati pointer "Tbiclass"u
ili NewObject() nece raditi.
SYSIA_Which - Izbor slike; Za sad postoje sest razlicitih verzija slike:
POPUPIMAGE - Slika MUI-jevog "pop-up" gadget-a
MUIIMAGE - Slika MUI-jevog "settings" gadget-a
SNAPSHOTIMAGE - Slika MUI-jevog "snapshot" gadget-a
ICONIFYIMAGE - Slika "iconify" gadget-a
PADLOCKIMAGE - Slika DirOpus-ovog "padlock" gadget-a
TBFRAMEIMAGE - Slika generalnog praznog gadget-a
IA_Width, IA_Height - Ove prepoznaje samo TBFRAMEIMAGE tip;
ostali tipovi slika ih ignoriraju i uvijek imaju
istu velicinu kao i gadget dubine.
SYSIA_ReferenceFont - Ove prepoznaje samo TBFRAMEIMAGE tip;
ostali tipovi slika ih ignoriraju i uvijek imaju
istu velicinu kao i gadget dubine.
Ako NewObject() ne bude radio, trebalo bi mu dodati ugradjenu fallback
sliku za gadget naslova. U svakom slucaju, zelim uskoro izdati freeware
verziju "tbiclass"a na disketi koja se moze ukljuciti u distribuciju tvojih
aplikacija. Ova klasa ce pruzati sve potrebne slike i moci ce biti zamijenjena
automatski VisualPrefs-ovom ako je prisutna.
To ce omoguciti cuvanje ugradjenih slika na veoma jednostavan nacin. ;-)
Vazno je napomenuti da ce sve klase "tbiclass"a imati vrijednost
mage->LeftEdge-a -1. Ovo ne bi trebalo mijenjati, i trebalo bi smjestiti
slike gadgeta u naslovu prema tome. Razlog za ovo, na prvi pogled, cudno
ponasanje je da Intuition-ove slike gadgeta naslova, takodjer, rade na ovaj
nacin, a treba biti sto je vise moguce kompatibilni sa Intuitionom.
Potrebno je i namjestiti i velicinu gadgeta prema potrebama vracene velicine
slike.
Primjer bi mogao biti slijedeci:
...
/* Kreiranje slike */
if (!(iconifyimage = NewObject(NULL,"tbiclass",SYSIA_Which,ICONIFYIMAGE,
SYSIA_DrawInfo,dri,
TAG_END)))
{
iconifyimage = builtin_iconifyimage;
}
/* Koristenje slike */
gad->GadgetRender = iconifyimage;
...
/* Oslobadjanje slike */
if (iconifyimage != builtin_iconifyimage) DisposeObject(iconifyimage);
...
To je sve. Za sada jos ne postoji pravi include file, tako da ako zelis koristiti
"tbiclass" u tvojim aplikacijama zapamti dodati slijedece linije na pocetku
tvog source koda. :-]
------- izrezi -------8<------- izrezi -------8<------- izrezi -------
#define POPUPIMAGE (101)
#define MUIIMAGE (102)
#define SNAPSHOTIMAGE (103)
#define ICONIFYIMAGE (104)
#define PADLOCKIMAGE (105)
#define TBFRAMEIMAGE (106)
------- izrezi -------8<------- izrezi -------8<------- izrezi -------
Jedan od programa koji koriste "tbiclass", je Thomas Richter-ov ViNCEd.
Nadam se da ces i ti odluciti da podrzavas "tbiclass" i tako konacno
das dobar izgled svim gadgetima u naslovu programa!
Hvala,
Massimo Tantignone (tanti@intercom.it)